package cn.ren.hai.core.enums;

import cn.ren.hai.core.constants.RhConstants;
import com.baomidou.mybatisplus.annotation.IEnum;

import java.io.Serializable;

/** base 枚举
 * @author: 王道
 * @Date: 2021/7/30 17:42
 * @Description:
 */
public interface BaseEnum<type extends Serializable> extends IEnum<type> {
    /**
     * 获取 数值
     * @return Integer 数值
     */
    @Override
    default type getValue(){
        throw new RuntimeException(RhConstants.NOT_REALIZE_FUNCTION_ERROR_INFO);
    };

    /**
     * 显示名称
     * @return 显示名称
     */
    default String getDisplayName(){
        throw new RuntimeException(RhConstants.NOT_REALIZE_FUNCTION_ERROR_INFO);
    };

    /**
     * 枚举名称
     * @return 枚举名称
     */
    default String getName(){
        throw new RuntimeException(RhConstants.NOT_REALIZE_FUNCTION_ERROR_INFO);
    };

}
